﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace CControl
{
    public class Cls_Evento
    {

       public int numero_oficio {get;set;}
	   public string evento_distribuidora {get;set;}
	   public string evento_supervisor {get;set;}
	   public string evento_telefono_distribuidora {get;set;}
	   public string evento_institucion_organizadora {get;set;}
	   public int id_tipo_evento {get;set;}
	   public string fecha_evento {get;set;}
	   public string local {get;set;}
	   public string direccion_local {get;set;}
	   public string direccion_referencia {get;set;}
	   public string marca {get;set;}
	   public string fecha_oficio {get;set;}
	   public int id_cliente {get;set;}
	   public double total_pago {get;set;}
	   public double actual_pago {get;set;}
	   public int estado_evento {get;set;}
	   public int importancia { get;set;    }
       public string descripcion { get; set; }
       public string hora_incio { get; set; }
       public string nombre_evento { get; set; }

       public int mtd_BuscarUltimoIDEvento()
       {
           try
           {
               //oConexion.ConnectionString = _ConnectionString;
               //oConexion.Open();
               Cls_Conexion Objconexion = new Cls_Conexion();
               SqlCommand Objcomando = new SqlCommand();
               SqlDataAdapter ObjDataAdapter = new SqlDataAdapter();
               DataTable ObjDataTable = new DataTable();

               int id_ultimo_evento = 0;

               Objcomando.CommandType = CommandType.StoredProcedure;
               Objcomando.CommandText = "USP_S_LISTAR_ULTIMOEVENTO";

               Objcomando.Parameters.Add(new SqlParameter("@CLIid_cliente", SqlDbType.Int));
               Objcomando.Parameters["@CLIid_cliente"].Value = this.id_cliente;

               Objcomando.Connection = Objconexion.Conectar();
               Objcomando.ExecuteNonQuery();

               ObjDataAdapter.SelectCommand = Objcomando;
               ObjDataAdapter.Fill(ObjDataTable);

               Objconexion = null;
               ObjDataAdapter = null;

               if (ObjDataTable.Rows.Count > 0)
               {
                   DataRow row = ObjDataTable.Rows[0];
                   id_ultimo_evento = Convert.ToInt32(row[0]);
               }

               return id_ultimo_evento;
           }
           catch (Exception ex)
           {
               throw ex;
           }
           finally
           {
               Cls_Conexion desconectar = new Cls_Conexion();
               desconectar.Desconectar();
           }
       }

       public static int mtd_BuscarUltimoNumeroOficio()
       {
           //USP_S_LISTAR_NUMEROOFICIOEVENTO
           try
           {

               //oConexion.ConnectionString = _ConnectionString;
               //oConexion.Open();
               Cls_Conexion Objconexion = new Cls_Conexion();
               SqlCommand Objcomando = new SqlCommand();
               SqlDataAdapter ObjDataAdapter = new SqlDataAdapter();
               DataTable ObjDataTable = new DataTable();

               int numero_oficio_evento = 0;

               Objcomando.CommandType = CommandType.StoredProcedure;
               Objcomando.CommandText = "USP_S_LISTAR_NUMEROOFICIOEVENTO";

               //Objcomando.Parameters.Add(new SqlParameter("@DNI", SqlDbType.Char));
               //Objcomando.Parameters["@DNI"].Value = _dni;

               Objcomando.Connection = Objconexion.Conectar();
               Objcomando.ExecuteNonQuery();

               ObjDataAdapter.SelectCommand = Objcomando;
               ObjDataAdapter.Fill(ObjDataTable);

               Objconexion = null;
               ObjDataAdapter = null;

               if (ObjDataTable.Rows.Count >= 0)
               {
                   DataRow row = ObjDataTable.Rows[0];
                   numero_oficio_evento = Convert.ToInt32(row[0]);
               }

               return numero_oficio_evento;
           }
           catch (Exception ex)
           {
               throw ex;
           }
           finally
           {
               Cls_Conexion desconectar = new Cls_Conexion();
               desconectar.Desconectar();
           }
       }

        public bool mtd_AgregarEvento()
        {
            try
            {

                //oConexion.ConnectionString = _ConnectionString;
                //oConexion.Open();
                Cls_Conexion Objconexion = new Cls_Conexion();
                SqlCommand Objcomando = new SqlCommand();
                SqlDataAdapter ObjDataAdapter = new SqlDataAdapter();
                DataTable ObjDataTable = new DataTable();                

                Objcomando.CommandType = CommandType.StoredProcedure;
                Objcomando.CommandText = "USP_I_INSERTAR_EVENTO";

                Objcomando.Parameters.Add(new SqlParameter("@EVTnumero_oficio", SqlDbType.Int));
                Objcomando.Parameters.Add(new SqlParameter("@EVTevento_distribuidora", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTevento_supervisor", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTevento_telefono_distribuidora", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTevento_institucion_organizadora", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTid_tipo_evento", SqlDbType.Int));
                Objcomando.Parameters.Add(new SqlParameter("@EVTfecha_evento", SqlDbType.DateTime));
                Objcomando.Parameters.Add(new SqlParameter("@EVTlocal", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTdireccion_local", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTdireccion_referencia", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTmarca", SqlDbType.VarChar));
                Objcomando.Parameters.Add(new SqlParameter("@EVTfecha_oficio", SqlDbType.DateTime));
                Objcomando.Parameters.Add(new SqlParameter("@CLIid_cliente", SqlDbType.Int));
                Objcomando.Parameters.Add(new SqlParameter("@EVTtotal_pago", SqlDbType.Decimal));
                Objcomando.Parameters.Add(new SqlParameter("@EVTactual_pago", SqlDbType.Decimal));
                Objcomando.Parameters.Add(new SqlParameter("@EVTestado_evento", SqlDbType.TinyInt));
                Objcomando.Parameters.Add(new SqlParameter("@EVTimportancia", SqlDbType.TinyInt));
                Objcomando.Parameters.Add(new SqlParameter("@EVTdescripcion", SqlDbType.Text));
//                Objcomando.Parameters.Add(new SqlParameter("@EVThora_inicio", SqlDbType.Char));
                Objcomando.Parameters.Add(new SqlParameter("@EVTnombre_evento", SqlDbType.VarChar));
                
                Objcomando.Parameters["@EVTnumero_oficio"].Value = this.numero_oficio;
                Objcomando.Parameters["@EVTevento_distribuidora"].Value = this.evento_distribuidora;
                Objcomando.Parameters["@EVTevento_supervisor"].Value = this.evento_supervisor;
                Objcomando.Parameters["@EVTevento_telefono_distribuidora"].Value = this.evento_telefono_distribuidora;
                Objcomando.Parameters["@EVTevento_institucion_organizadora"].Value = this.evento_institucion_organizadora;
                Objcomando.Parameters["@EVTid_tipo_evento"].Value = this.id_tipo_evento;
                Objcomando.Parameters["@EVTfecha_evento"].Value = this.fecha_evento;
                Objcomando.Parameters["@EVTlocal"].Value = this.local;
                Objcomando.Parameters["@EVTdireccion_local"].Value = this.direccion_local;
                Objcomando.Parameters["@EVTdireccion_referencia"].Value = this.direccion_referencia;
                Objcomando.Parameters["@EVTmarca"].Value = this.marca;
                Objcomando.Parameters["@EVTfecha_oficio"].Value = this.fecha_oficio;
                Objcomando.Parameters["@CLIid_cliente"].Value = this.id_cliente;
                Objcomando.Parameters["@EVTtotal_pago"].Value = this.total_pago;
                Objcomando.Parameters["@EVTactual_pago"].Value = this.actual_pago;
                Objcomando.Parameters["@EVTestado_evento"].Value = this.estado_evento;
                Objcomando.Parameters["@EVTimportancia"].Value = this.importancia;
                Objcomando.Parameters["@EVTdescripcion"].Value = this.descripcion;
                Objcomando.Parameters["@EVTnombre_evento"].Value = this.nombre_evento;

                Objcomando.Connection = Objconexion.Conectar();
                Objcomando.ExecuteNonQuery();

                return true;

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                Cls_Conexion desconectar = new Cls_Conexion();
                desconectar.Desconectar();
            }
        }

        public static DataTable mtd_ListarMarca(){
            try
            {

                //oConexion.ConnectionString = _ConnectionString;
                //oConexion.Open();
                Cls_Conexion Objconexion = new Cls_Conexion();
                SqlCommand Objcomando = new SqlCommand();
                SqlDataAdapter ObjDataAdapter = new SqlDataAdapter();
                DataTable ObjDataTable = new DataTable();

                Objcomando.CommandType = CommandType.StoredProcedure;
                Objcomando.CommandText = "USP_S_LISTAR_MARCA";

                //Objcomando.Parameters.Add(new SqlParameter("@CODIGOCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@RUCCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@RAZONCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@DIRECCIONCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@TELEFONO1CLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@LOCALIDADCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@DEPARTAMENTOCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@PROVINCIACLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@PAISCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@CONTACTOCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@TELEFONO2CLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@EMAILCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters.Add(new SqlParameter("@CELULARCLIENTE", SqlDbType.VarChar));
                //Objcomando.Parameters["@CODIGOCLIENTE"].Value = CODCLIE;
                //Objcomando.Parameters["@RUCCLIENTE"].Value = RUCCLIE;
                //Objcomando.Parameters["@RAZONCLIENTE"].Value = RAZONCLIE;
                //Objcomando.Parameters["@DIRECCIONCLIENTE"].Value = DIRECLIE;
                //Objcomando.Parameters["@TELEFONO1CLIENTE"].Value = TELE1CLIE;
                //Objcomando.Parameters["@LOCALIDADCLIENTE"].Value = LOCACLIE;
                //Objcomando.Parameters["@DEPARTAMENTOCLIENTE"].Value = DEPCLIE;
                //Objcomando.Parameters["@PROVINCIACLIENTE"].Value = PROVCLIE;
                //Objcomando.Parameters["@PAISCLIENTE"].Value = PAISCLIE;
                //Objcomando.Parameters["@CONTACTOCLIENTE"].Value = CONTCLIE;
                //Objcomando.Parameters["@TELEFONO2CLIENTE"].Value = TELE2CLIE;
                //Objcomando.Parameters["@EMAILCLIENTE"].Value = EMAILCLIE;
                //Objcomando.Parameters["@CELULARCLIENTE"].Value = CELCLIE;

                Objcomando.Connection = Objconexion.Conectar();
                Objcomando.ExecuteNonQuery();

                ObjDataAdapter.SelectCommand = Objcomando;
                ObjDataAdapter.Fill(ObjDataTable);

                Objconexion = null;
                ObjDataAdapter = null;

                return ObjDataTable;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                Cls_Conexion desconectar = new Cls_Conexion();
                desconectar.Desconectar();
            }
        }



       
    }
}
